1. Field of the Invention
The present invention relates to a data processing system and method for performing mutual identification between data processing apparatuses.
2. Description of the Related Art
To prevent illicit use of audio and other data, namely, to protect the copyright(s) of such data, a first data processing apparatus may be restricted from outputting any such data to a second data processing apparatus unless a process of mutual identification between the apparatuses is performed where each apparatus is recognized as being a legitimate party.
There are a number of systems for processing such a mutual identification. One example is the common key system.
In the common key system, the first and second data processing apparatuses share a single common key. For example, one notifies the other of a random number it has generated, the two perform operations using the random number and common key, and each outputs a processing result to the other. The data processing apparatuses each compare their own processing results with the results inputted from the other, and thus, recognize the other as being a legitimate party when the results match.
In such a common key system, it is necessary to keep the common key secret from persons other than the legitimate parties. If the common key were acquired by an illegitimate party, the illegitimate party would be falsely recognized as a legitimate party under the system thus enabling illicit use of data.
The present invention was made in consideration of the above problem and has as its object the provision of a data processing system and method with improved mutual identification techniques using a common key.
Other objects and advantages of the invention will in part be obvious and will in part be apparent from the specification and the drawings.
To solve the above problem and achieve the above object, in accordance with the present invention, mutual identification is performed between a first data processing apparatus and a second data processing apparatus, wherein said first data processing apparatus comprises a first storage means for storing a plurality of different first key data and a first mutual identification processing means for selecting one first key data in the plurality of first key data and using the selected first key data for mutual identification with said second data processing apparatus; and said second data processing apparatus comprises a second storage means for storing a plurality of different second key data and a second mutual identification processing means for selecting a second key data corresponding to the first key data selected by the first mutual identification processing means in the plurality of second key data and using the second key data for mutual identification with said first data processing apparatus.
Further, according to a preferred embodiment of the present invention, at least one of the first and second data processing apparatuses generates a random number and notifies the generated random number to the other. Correspondingly, the first mutual identification processing means selects the first key data based on the random number and the second mutual identification processing means selects the second key data based on the random number.
According to the preferred embodiment of the invention, said first data processing apparatus further comprises a key data calculating means for calculating said second key data selected by said second mutual identification processing means from the selected first key data and said first mutual identification processing means performs the mutual identification processing with the second mutual identification processing means using the calculated second key data as a common key.
In addition, according to the preferred embodiment, said second mutual identification processing means of said second data processing apparatus performs a one-way Hash function operation using the random number input from the first data processing apparatus and the selected second key data as arguments to calculate a first processing result and outputs the first processing result to the first data processing apparatus; said first data processing apparatus further has a random number generating means for generating said random number and outputting it to said second mutual identification processing means; and said first mutual identification processing means performs said one-way Hash function operation using the random number generated by the random number generating means and the calculated second key data as arguments to produce a second processing result and identifies the second data processing apparatus as a legitimate party when the first processing result input from the second data processing apparatus matches the second processing result.
Further, according to the preferred embodiment, said first mutual identification processing means of said first data processing apparatus performs a one-way Hash function operation using the random number input from the second data processing apparatus and the calculated second key data as arguments to calculate a third processing result and outputs the third processing result to the second data processing apparatus; said second data processing apparatus further has a random number generating means for generating said random number and outputting it to said first mutual identification processing means; and said second mutual identification processing means performs said one-way Hash function operation using the random number generated by the random number generating means of the second data processing apparatus and the selected second key data as arguments to produce a fourth processing result and identifies the first data processing apparatus as a legitimate party when the third processing result input from the first data processing apparatus matches the fourth processing result.
Additionally, according to the preferred embodiment of the invention, said first data processing apparatus and said second data processing apparatus receive, as input, key selection data, wherein said first mutual identification processing means selects one first key data in the plurality of first key data based on the key selection data, and said second mutual identification processing means selects one second key data in the plurality of second key data based on the key selection data.
Finally, the data processing method of the present invention is a method for performing mutual identification between a first data processing apparatus and a second data processing apparatus, comprising, at said first data processing apparatus, selecting one first key data in a plurality of first key data and using the selected first key data for mutual identification with said second data processing apparatus and, in said second data processing apparatus, selecting a second key data corresponding to the selected first key data in the plurality of second key data and using the selected second key data for mutual identification with said first data processing apparatus.
The invention accordingly comprises the several steps and the relation of one or more of such steps with respect to each of the others, and the apparatus embodying features of construction, combination(s) of elements and arrangement of parts that are adapted to effect such steps, all as exemplified in the following detailed disclosure, and the scope of the invention will be indicated in the claims.